|
bc(ビーシー)は、Unixで広く使われている、中置記法の算術式を計算する任意精度演算プログラムおよびその入力言語である。式はコマンドライン引数として与えることもできるし、標準入力などを読ませることもできる。例えば、''(1 + 3) * 2'' を入力すれば ''8'' と出力する。 POSIXで標準化されている〔http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html〕が、GNU版の実装はGNU製ユーティリティのご多分に漏れず大幅に拡張されている。Plan 9版は、標準のスーパーセットでGNU版のサブセットになっている。他に、元祖UNIX版の実装(:en:Heirloom Projectからメンテナンスされている版が入手可能)や、OpenBSDプロジェクトで実装されたもの(他にFreeBSDなどで使われている)が、主要な実装である。 MS Windows等用のバイナリが配布されているものもある。 == 標準 == bcは伝統的に、後置記法(逆ポーランド記法)のdcというプログラムのフロントエンドプロセスとして実装されてきた。標準も、それに倣った実装を考慮して定義されているが、必ずそのように実装しなければならない、とはしていない。後述するGNU版ではbcとdcはそれぞれ別のプログラムとして実装されている。bcをdcと連携させる実装において、bcとdcのどちら側を親プロセスとするかは実装によってまちまちである。 言語要素には、1文字の変数名・配列名・関数名、ほとんどの標準的演算子、よくある制御構造としてC言語にあるもの(if文、whileループ、forループ)が備わっている。なお、C言語とは異なり、if文にはelse節がない。 関数の定義にはキーワード define を使い、関数の返す値は return の後の括弧内にその値を記述する。関数内で変数が局所変数であることを示すため、auto というキーワードを使って変数を宣言する(C言語ではオプション)。全ての数と変数の中身は任意精度数であり、その精度(十進での桁数)は大域変数 scale で決まる。対話型モードでの入力と出力やプログラム内の定数の底(基数)は、予約された変数 ibase (入力)と obase (出力)で指定できる。計算結果を変数に格納しないと、そのまま出力として結果が表示される。 bcのコードにコメントを付与する場合、C言語と同様に / と で囲む。抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Bc (UNIX)」の詳細全文を読む スポンサード リンク
|